2.1-channel & sync
通道
func ForLoopChannel() {
ch := make(chan int)
// 启动 goroutine 发送数据
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // 关闭通道,否则 for-range 会阻塞
}()
// 从通道接收数据直到通道关闭
for value := range ch {
fmt.Printf("从通道接收: %d\n", value)
}
}